# 编译项目文件夹下的所有.cc文件，并生成一个.exe
OBJDIR:=.
OBJDIR_KEYWORD:=../Key_Word_Search
OBJDIR_WEB:=../Web_Search

SRCDIR:=.
SRCDIR_KEYWORD:=../Key_Word_Search
SRCDIR_WEB:=../Web_Search

SRCDIR:=.
SRCDIR_KEYWORD:=../Key_Word_Search
SRCDIR_WEB:=../Web_Search

SRCS:=$(wildcard *.cc)
SRCS_KEWORD:=$(wildcard ../Key_Word_Search/*.cc)
SRCS_WEB:=$(wildcard ../Web_Search/*.cc)

OBJS := $(patsubst %.cc, %.o, $(SRCS))
OBJS_KEYWORD := $(patsubst $(SRCDIR_KEYWORD)/%.cc, $(SRCDIR_KEYWORD)/%.o, $(SRCS_KEWORD))
OBJS_WEB := $(patsubst $(SRCDIR_WEB)/%.cc, $(SRCDIR_WEB)/%.o, $(SRCS_WEB))

Out := Main 

$(Out): $(OBJS) $(OBJS_KEYWORD) $(OBJS_WEB)
	g++ $^ -o $@ -lpthread -lredis++ -lhiredis -licuuc
$(OBJDIR_KEYWORD)/%.o: $(SRCDIR_KEYWORD)/%.cc
	g++ -c $< -o $@ -g
$(OBJDIR_WEB)/%.o: $(SRCDIR_WEB)/%.cc
	g++ -c $< -o $@ -g 
$(OBJDIR)/%.o: $(SRCDIR)/%.cc
	g++ -c $< -g 

# 隐式推导，%与$(Objs)进行匹配
.PHONY: clean
clean:
	rm -f $(OBJDIR)/*.o $(OBJDIR_KEYWORD)/*.o  $(OBJDIR_WEB)/*.o $(Out)
